VMS Help  —  SDL
   The Structure Definition Language ... tbs.

1  –  Parameters

  file-spec[,...]

   Specifies the names of one or more files to be processed.  You must
   specify at least one file name.  If you specify two or more file
   names, separate them with commas.

2  –  Command Qualifiers

2.1    /ALIGNMENT

  /ALIGNMENT=value

   The assumed alignment. Integer value greater than zero.
   If specified, diagnostic messages are emitted for data items that do not
   fall on the assumed alignment.

2.2    /ALPHA_AXP

  /ALPHA_AXP (Default on Alpha and IA64 systems)

   There are many things that depend on this qualifier:

   o The size of certain data types (HARDWARE_ADDRESS, INTEGER_HW,
     HARDWARE_INTEGER, POINTER_HW) is 8 bytes if /ALPHA_AXP is specified
     and 4 bytes otherwise.

   o Bitfields can have 64 bits if /ALPHA_AXP is specified and only 32 bits
     otherwise.

   o BASIC defines the data type HUGE as BASIC$HFLOAT_AXP if /ALPHA_AXP is
     specified and as HFLOAT otherwise and HUGE_COMPLEX as
     BASIC$H_FLOATING_COMPLEX_AXP if /ALPHA_AXP is specified and as
     BASIC$H_FLOATING_COMPLEX otherwise.

   o CC writes alignment pragmas to the output file only if /ALPHA_AXP is
     specified.

   o CC generates 64-bit pointers only if /ALPHA_AXP is specified.

   o CC generates QUADWORD datatypes as __int64 if /ALPHA_AXP is specified
     and as int[2] otherwise.

   o Also see /C_DEVELOPMENT and /VMS_DEVELOPMENT.

2.3    /B64

  /B64[=value]
  /NOB64[=value] (D)

   This qualifier is only valid for the languages BLISS and BLISSF.

   The default extension for the output file is .R64 if /B64 is specified
   and .R32 otherwise.

   The word size used in BITFIELDs is 64 bits if /B64 is specified and
   32 bits otherwise.

   The name used for conditional compilation changes from BLISS or BLISSF
   to BLISS64 or BLISSF64, respectively.

   The value will be ignored.

   You cannot specify the qualifiers /B64 and /VAX together.

2.4    /CHECK_ALIGNMENT

  /CHECK_ALIGNMENT[=value]
  /NOCHECK_ALIGNMENT[=value] (D)

   If specified, diagnostic messages are emitted for data items that do not
   fall on their natural alignment.

   The value will be ignored.

2.5    /COMMENTS

  /COMMENTS[=value] (D)
  /NOCOMMENTS[=value]

   Defines whether comments in the source file will be
   written to the output file.
   The value will be ignored.

2.6    /COPYRIGHT

  /COPYRIGHT[=value]
  /NOCOPYRIGHT[=value]

   Defines whether a Compaq copyright notice is written to the output file.
   The value will be ignored.

2.7    /C_DEVELOPMENT

  /C_DEVELOPMENT[=value]
  /NOC_DEVELOPMENT[=value]

   Only used by the CC backend.

   If an input file contains more than one module, C generates one .h file
   per module if either /C_DEVELOPMENT or /VMS_DEVELOPMENT is specified and
   one file containing all the modules otherwise.

   C defines a macro with all lowercase characters to equal the same name
   in all uppercase characters for every entry node if either /C_DEVELOPMENT
   or /VMS_DEVELOPMENT is specified.

   C creates function prototypes if either /C_DEVELOPMENT or
   /VMS_DEVELOPMENT is specified (although the ones generated with
   /VMS_DEVELOPMENT only contain "__unknown_params").

   C generates most definitions twice if /C_DEVELOPMENT is specified,
   separated with "#ifdef __NEW_STARLET" ... "else" ... "endif".
   The "__NEW_STARLET" definitions contain complete function prototypes,
   the "OLD" definitions only "__unknown_params". Also the definitions of
   structs and unions are different.

   The __member_alignment pragmas are only generated if both /ALPHA_AXP and
   /C_DEVELOPMENT are specified.

   C generates "if !defined(__VAXC)" for special cases if /C_DEVELOPMENT or
   /VMS_DEVELOPMENT is specified, otherwise "ifdef __cplusplus" is generated.

   C generates "#ifndef __<module-name>_LOADED" ... if /C_DEVELOPMENT or
   /VMS_DEVELOPMENT is specified.

   C generated "__required_pointer_size" pragmas if either
   /VMS_DEVELOPMENT or both /V_DEVELOPMENT and /ALPHA_AXP are specified.

   Together with the /ALPHA_AXP qualifier and the /VMS_DEVELOPMENT qualifier
   this qualifier influences the definition of certain data types and the
   generation of certain pragmas, e.g. the data type QUADWORD is defined as
   __int64 if /ALPHA_AXP is specified and /VMS_DEVELOPMENT and not
   /C_DEVELOPMENT, and as int [2] otherwise, and the HARDWARE_ADDRESS and
   POINTER_HW data types are defined as __int64 if /ALPHA_AXP and neither
   /C_DEVELOPMENT nor /VMS_DEVELOPMENT are specified and as int[2] if
   /ALPHA_AXP is not specified, and are not defined if /ALPHA_AXP and one of
   the qualifiers /C_DEVELOPMENT or /VMS_DEVELOPMENT is specified.

   Pretty confusing, isn't it?

   The value [of the qualifier] will be ignored.

2.8    /DUMP

  /DUMP[=file-spec]
  /NODUMP[=file-spec]

  Generates a dump of the intermediary representation.  file-spec is
  the name of the dump file.

2.9    /GLOBAL_DEFINITION

  /GLOBAL_DEFINITION[=value]
  /NOGLOBAL_DEFINITION[=value]

   The BASIC language does not support this option.

   BLISS and BLISSF define common and global items as "global" if
   /GLOBAL_DEFINITION is specified and as "external" otherwise.

   CC defines global items as "extern" if /GLOBAL_DEFINITION is not specified.

   MACRO defines global items depending on the presence of
   /VMS_DEVELOPMENT and /GLOBAL_DEFINITION

   Pascal define global items as "[GLOBAL]" if /GLOBAL_DEFINITION is
   specified and as "[EXTERNAL]" otherwise.

   PLI define global items as "globaldef" if /GLOBAL_DEFINITION is
   specified and as "globalref" otherwise.

   The value will be ignored.

2.10    /HEADER

  /HEADER (D)
  /NOHEADER

   Defines whether the SDL header is written to the output file.
   The SDL header contains the creation date and time of the output file
   (i.e. the date and time when SDL was run) and the name and the
   creation date of the source file used to generate the output file.

2.11    /LANGUAGES

  /LANGUAGES=(keyword[=filespec][,...])

   Specifies the names of the languages for which you want to  generate
   output. filespec optionally lets you specify [part of] a file
   specification. If you provide only one file specification,  you  can
   omit the parentheses.

   You can specify one of the following languages:

   ADA       The Ada programming language.

   BASIC     The BASIC programming language.

   BLISS     The BLISS programming language.

   BLISS64   Same as BLISS with the additional qualifier /B64.

   BLISSF    A "fields" variant of the BLISS programming language.

   CC        The C and C++ programming languages.

   DCL       The Digital Command Language.

   DTR       The Datatrieve programming language.

   DUMP      Dumps the input in a special format.

   FORTRAN   The FORTRAN programming language.

   FORTRAN_STEVE_LIONEL   The FORTRAN programming language.
                          This is close to "FORTRAN" with
 			 the exception that ... tbs.

   FORTV3    An older dialect of the FORTRAN programming language.

   MACRO     The VAX Macro assembler, also available on Alpha and IA64.

   PASCAL    The Pascal programming language.

   PLI       The PL1 programming language.

   SDML      The Standard Digital Markup Language.

   TPU       The Text Processing Utility language.

   TPU_2     The Text Processing Utility language.
             This is a different implementation which
 	    should produce the same result as "TPU"

   UIL       The DECwindows User Interface Language.
             This is a different implementation which
 	    should produce the same result as "UIL"

2.12    /LIST

  /LIST[=file-spec]
  /NOLIST[=file-spec]

  Generates a listing file. file-spec is the name of the listing file.

2.13    /MEMBER_ALIGN

  /MEMBER_ALIGN[=value]
  /NOMEMBER_ALIGN[=value]

   Specifies that every item in aggregates should be aligned.
   This is the same as specifying ALIGN on all aggregates.

   The value will be ignored.

2.14    /MODULE

  /MODULE (D)
  /NOMODULE

   ADA outputs the module header and predeclared types if /MODULE is specified.

   PASCAL generates "%include"-able files if /NOMODULE is specified.
   Otherwise, the generated files are MODULEs, which can be [INHERIT]ed.

2.15    /PARSE

  /PARSE[=file-spec] (D)
  /NOPARSE

   /PARSE generates an intermediate file. file-spec is the name of the file.
   If /NOPARSE is specified, SDL assumes that the input file-spec (parameter 1)
   is an intermediate file.

   You cannot specify the qualifiers /NOPARSE and /SUPPRESS together.

2.16    /PLI_DEVELOPMENT

  /PLI_DEVELOPMENT[=value]
  /NOPLI_DEVELOPMENT[=value]

   Only used by the PLI backend.

   This qualifier specifies the definition of certain data types,
   e.g. most integral data types are defined as fixed binary (n) if
   /PLI_DEVELOPMENT is specified and as bit(n) aligend otherwise.

   In addition to that, the type names of certain parameters are changed,
   e.g. "ASTADR" to "entry value" and "MASK_BYTE" to "bit (8) aligned".

   Default parameters that are not optional are marked as "optional" if
   /PLI_DEVELOPMENT is specified

   The value will be ignored.

2.17    /SUBFIELDS

  /SUBFIELDS[=value]
  /NOSUBFIELDS[=value]

   tbs - -> sdl$v_subfield_opt.
   The value will be ignored.

2.18    /SUPPRESS

  /SUPPRESS=(option[,...])
  /NOSUPPRESS=(option[,...])

   /SUPPRESS=PREFIXES
   /SUPPRESS=TAGS

   With this qualifier, you can specify that items should be generated
   without prefixes and/or tags.

   You can specify one of the following options:

   PREFIXES  specify that items should be generated without prefixes.

   TAGS      specify that items should be generated without tags.

   If you provide only one value, you can omit the parentheses.

   You cannot specify the qualifiers /NOPARSE and /SUPPRESS together.

2.19    /SYMBOLS

  /SYMBOLS=(value[,...])

   It is possible to specify symbols and values which can be used in the
   IFSYMBOL statement (kind of conditional compilation).

   If you provide only one value, you can omit the parentheses.

2.20    /VAX

  /VAX (Default on VAX systems)

   For modules, FORTRAN writes the following comment to the output file:
   !DEC$ OPTIONS/ALIGN=(RECORDS=PACKED,COMMONS=PACKED)/NOWARN

   CC generates "double" as return type for functions if the actual return
   type is quadword and /VAX and not /VMS_DEVELOPMENT is specified.

   You cannot specify the qualifiers /ALPHA_AXP and /VAX together.
   You cannot specify the qualifiers /B64 and /VAX together.

2.21    /VMS_DEVELOPMENT

  /VMS_DEVELOPMENT[=value]
  /NOVMS_DEVELOPMENT[=value]

   o Ada defines the data types QUADWORD and INTEGER_QUAD as INTEGER_64
     if /ALPHA_AXP and /VMS_DEVELOPMENT is specified and as
     UNSIGEND_QUADWORD otherwise.

   o BLISS defines routines as "external routine routine-name : novalue"
     if /VMS_DEVELOPMENT is not specified and generates macros or keywordmacros
     otherwise.

   o BLISS' and BLISSF's generation of certain "literal"s for the sizes of
     structures or unions depends on this qualifier.

   o BLISSF ignores user fill fields if /VMS_DEVELOPMENT is specified.

   o BLISSF ignores nested structures if /VMS_DEVELOPMENT is specified.

   o BLISSF generates macros instead of fields for certain level one items.

   o CC handles user fill depending on /VMS_DEVELOPMENT.

   o CC handles references to aggregates within typedef'd aggregates
     different when /VMS_DEVELOPMENT is specified.

   o See also /C_DEVELOPMENT

   o Pascal prefixes "read node" modules with PASCAL$ if /VMS_DEVELOPMENT
     is specified.

   o Pascal suppresses the generation of certain fill fields if
     /VMS_DEVELOPMENT is specified.

   o Pascal appends "$TYPE" to data types that have no "$" in their name
     if /VMS_DEVELOPMENT is specified.

   o Pascal emits an error message if it encounters a complex data type
     if /VMS_DEVELOPMENT is not specified.

   o Pascal generates the type "$DEFPTR" for user data types if
     /VMS_DEVELOPMENT is specified and generates the actual type if not.

   The value will be ignored.
Close Help